package com.appkubes.mall.core.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * 
 * @author Rongjie
 */
@Data
@TableName("fintech_rent_bill_header")
@KeySequence(value = "fintech_rent_bill_header_SEQ")
@ApiModel(value = "FintechRentBillHeader对象")
public class FintechRentBillHeader implements Serializable{

       @ApiModelProperty(value = "app_key")
       private String appKey;

       @TableId(value = "bill_key", type = IdType.UUID)
       @ApiModelProperty(value = "账单KEY 账单表")
       private String billKey;

       @ApiModelProperty(value = "账单编号")
       private String billNo;

       @ApiModelProperty(value = "用户KEY")
       private String userKey;

       @ApiModelProperty(value = "订单KEY")
       private String orderKey;

       @ApiModelProperty(value = "起租日期")
       private Date rentStartDate;

       @ApiModelProperty(value = "终止日期")
       private Date rentEndDate;

       @ApiModelProperty(value = "总期数", example = "1")
       private Integer periods;

       @ApiModelProperty(value = "时间长度", example = "1")
       private Integer periodsDays;

       @ApiModelProperty(value = "1 日  2月", example = "1")
       private Integer periodsType;

       @ApiModelProperty(value = "00 未启用，01还款中 02已逾期 03正常还款完毕 04已提还 05 逾期终止")
       private String status;

       @ApiModelProperty(value = "利息利率")
       private BigDecimal interestRate;

       @ApiModelProperty(value = "账单本金", example = "1")
       private Integer billAmount;

       @ApiModelProperty(value = "账单总利息", example = "1")
       private Integer billInterest;

       @ApiModelProperty(value = "总罚息", example = "1")
       private Integer billFine;

       @ApiModelProperty(value = "已还本金", example = "1")
       private Integer repayAmount;

       @ApiModelProperty(value = "已还利息", example = "1")
       private Integer repayInterest;

       @ApiModelProperty(value = "已还罚金", example = "1")
       private Integer repayFineAmount;

       @ApiModelProperty(value = "减免金额", example = "1")
       private Integer breaksAmount;

       @ApiModelProperty(value = "剩余本金", example = "1")
       private Integer surpAmount;

       @ApiModelProperty(value = "剩余利息", example = "1")
       private Integer surpInterestAmount;

       @ApiModelProperty(value = "剩余罚息", example = "1")
       private Integer surpFineAmount;

       @ApiModelProperty(value = "当期还款日期")
       private Date unpayDate;

       @ApiModelProperty(value = "当期还款本金", example = "1")
       private Integer unpayAmount;

       @ApiModelProperty(value = "当期还款利息", example = "1")
       private Integer unpayInterestAmount;

       @ApiModelProperty(value = "当期还期数", example = "1")
       private Integer unpayPeriods;

       @ApiModelProperty(value = "当期还罚金", example = "1")
       private Integer unpayFineAmount;

       @ApiModelProperty(value = "罚息利率")
       private BigDecimal fineRate;

       @ApiModelProperty(value = "创建时间")
       private Date createTime;

       @ApiModelProperty(value = "更新时间")
       private Date updateTime;

       @ApiModelProperty(value = "备注")
       private String remark;

       @ApiModelProperty(value = "还款多余的零头钱", example = "1")
       private Integer repayChangeAmount;

}
